package com.moss.cloud.base.api.model.from;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class FlowTaskFrom implements Serializable {
    private Long id;
    /**
     * 任务ID
     */
    @NotBlank(message = "任务ID不能为空")
    private String taskId;
    /**
     * 任务名称
     */
    @NotBlank(message = "任务名称不能为空")
    private String name;
    /**
     * 任务节点类型（TASK:任务节点）
     */
    @NotBlank(message = "任务节点类型（TASK:任务节点）不能为空")
    private String type;
    /**
     * 任务节点负责人
     */
    @NotBlank(message = "任务节点负责人不能为空")
    private String headUsers;
    /**
     * 任务节点抄送人
     */
    private String ccToUsers;
    /**
     * 任务节点结束时间
     */
    private Long nodeTaskEndTime;
    /**
     * 任务节点结束时间到期是否自动通过
     */
    private Boolean reachEndTimePass;
    /**
     * 任务节点批复类型（OR:或签，ALL:会签）
     */
    @NotBlank(message = "任务节点批复类型（OR:或签，ALL:会签）不能为空")
    private String sign;
    /**
     * 任务状态（1:未开始，2:进行中，3:通过，4:拒绝）
     */
    @NotNull(message = "任务状态（1:未开始，2:进行中，3:通过，4:拒绝）不能为空")
    private Integer status;
    /**
     * 批复时间
     */
    @NotNull(message = "批复时间不能为空")
    private LocalDateTime applyTime;
    /**
     * 批复意见
     */
    private String applyOpinion;

}
